package com.kaili.basic.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.kaili.basic.pojo.dto.FacilityVersionAddDto;
import com.kaili.basic.pojo.dto.FacilityVersionDto;
import com.kaili.basic.pojo.entity.FacilityVersion;
import com.kaili.basic.pojo.entity.FacilityVersionQuery;
import com.kaili.basic.pojo.vo.FacilityVersionVO;

import java.util.List;
import java.util.Map;

public interface IFacilityVersionService {

    //获取可用编码
    String getUsableCode();

    //更新编码状态为正在使用
    void updateVersionCodeStatusUsing(String code);

    //自动生成编码
    void createdVersionCode(Map<String,Object> map);

    //更新编码状态为已使用
    void updateVersionCodeStatusUsed(String code);

    //更新编码状态为未使用状态
    void updateVersionCodeStatusUnuse(String code);
    
    //查询所有版本
    List<FacilityVersion> queryAllVersion();

    Page<FacilityVersionVO> queryFacilityVersionByConditions(Page<FacilityVersionVO> facilityVersionPage, FacilityVersionDto dto);

    //新增版本
    int addFacilityVersion( FacilityVersionVO facilityVersion);

    FacilityVersion queryVersionByCode(String versionCode);
}
